Computer systems, such as servers, mainframes, or even personal computers, are often required to allocate separate physical compute/storage resources to different software environments all possibly running under one operating system. Such software environments use the separate physical resources to run in isolation, such that each software environment does not interfere with any of the other software environments or the physical resources thereof. These computer systems often use virtualization methods to achieve said isolation, like in the case of Linux Containers, which are an operating-system-level method for running several Linux software environments in isolation. Each software environment is created and allocated with separate physical resources so as to be maintained for long periods of time, perhaps even days, and so as to possibly accommodate many software processes and programs all running under each of these environments. Creating each of such isolated environments requires a substantial system overhead, is time consuming, and is susceptible to faults which accumulate over time. As a result of the difficulties mentioned above, it is not currently practical to maintain a very large number of such isolated environments all running in parallel. Modern systems, such data centers, are required to handle emerging execution architectures, such as the microservice architecture, which is a method of developing software applications as a collection of small and modular services, in which each of the services achieves a specific task, and can communicate with other services to achieve other tasks. Current isolation techniques are incapable of achieving isolation at a very large scale, and are certainly incapable of achieving isolation at the service/task level.